﻿#region Using Statements
using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using starLiGHT.ParticleSystem.Common;
using starLiGHT.ParticleSystem.twoD;
using Microsoft.Xna.Framework.Content;
using starLiGHT.ParticleSystem.PulseGenerators;
using starLiGHT.ParticleSystem.Initializer;
using starLiGHT.ParticleSystem.Initializer.TwoD;
using starLiGHT.ParticleSystem.Modifier;
using starLiGHT.ParticleSystem.Modifier.twoD;
#endregion

namespace starLiGHT.Sandbox.Particles
{
    public class ColorChange : Emitter2D
    {
        public ColorChange(ContentManager content)
        {
            PulseGenerator = new Steady(15);

            addInitializer(new TextureInitializer(content.Load<Texture2D>("star2")));
            addInitializer(new Lifetime(2, 3));
            addInitializer(new Position(new DiscRegion(new Vector2(400, 300), 20.0f, 5.0f)));
            addInitializer(new Velocity(new DiscRegion(new Vector2(0, 0), 100, 10)));
            addInitializer(new ColorInitializer(Color.White));

            addModifier(new Age());
            addModifier(new ChangeColor(Color.White, Color.Black, starLiGHT.ParticleSystem.Common.EnergyEasing.Exponential.easeOut ));
            addModifier(new Move());
        }
    }
}
